﻿namespace Klinkby
{
    public static class Tuple
    {
        public static Tuple<T0> Create<T0>(T0 item0)
        {
            return new Tuple<T0>(item0);
        }
        public static Tuple<T0, T1> Create<T0, T1>(T0 item0, T1 item1)
        {
            return new Tuple<T0, T1>(item0, item1);
        }
        public static Tuple<T0, T1, T2> Create<T0, T1, T2>(T0 item0, T1 item1, T2 item2)
        {
            return new Tuple<T0, T1, T2>(item0, item1, item2);
        }
        public static Tuple<T0, T1, T2, T3> Create<T0, T1, T2, T3>(T0 item0, T1 item1, T2 item2, T3 item3)
        {
            return new Tuple<T0, T1, T2, T3>(item0, item1, item2, item3);
        }
        public static Tuple<T0, T1, T2, T3, T4> Create<T0, T1, T2, T3, T4>(T0 item0, T1 item1, T2 item2, T3 item3, T4 item4)
        {
            return new Tuple<T0, T1, T2, T3, T4>(item0, item1, item2, item3, item4);
        }
        public static Tuple<T0, T1, T2, T3, T4, T5> Create<T0, T1, T2, T3, T4, T5>(T0 item0, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5)
        {
            return new Tuple<T0, T1, T2, T3, T4, T5>(item0, item1, item2, item3, item4, item5);
        }
        public static Tuple<T0, T1, T2, T3, T4, T5, T6> Create<T0, T1, T2, T3, T4, T5, T6>(T0 item0, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6)
        {
            return new Tuple<T0, T1, T2, T3, T4, T5, T6>(item0, item1, item2, item3, item4, item5, item6);
        }
        public static Tuple<T0, T1, T2, T3, T4, T5, T6, T7> Create<T0, T1, T2, T3, T4, T5, T6, T7>(T0 item0, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7)
        {
            return new Tuple<T0, T1, T2, T3, T4, T5, T6, T7>(item0, item1, item2, item3, item4, item5, item6, item7);
        }
    }
}
